from pydantic import BaseModel

class StreamChatConfig(BaseModel):
    # 翻译后的目标语种
    language: str
    # nlp模型的别名
    translation: str
    # tts模型的别名
    speech: str
    # 有效时长
    expire: int
    # nlp模型名称/HF的repo_id({username_or_org}/{repo_name}). 例: google-bert/bert-base-cased
    nlp_model_dir: str
    # tts模型名称/HF的repo_id. 例: google-bert/bert-base-cased
    tts_model_dir: str
    # 通信标识
    token: str

class StreamSpeechConfig(BaseModel):
    # 语音的目标语种
    language: str
    # tts模型的别名
    model: str
    # 有效时长
    expire: int
    # 音频采样率
    sample_rate:int
    # 频道数量
    channel:int
    # tts模型名称/HF的repo_id({username_or_org}/{repo_name}). 例: google-bert/bert-base-cased
    model_dir: str
    # 通信标识
    token: str

class StreamRecognitionConfig(BaseModel):
    # asr模型的别名
    model: str
    # 有效时长
    expire: int
    # rev 二进制的类型. 支持: wav/wav文件的二进制, numpy/numpy.dtype=float32数组的二进制
    date_type: str
    # asr模型名称/HF的repo_id({username_or_org}/{repo_name}). 例: google-bert/bert-base-cased
    model_dir: str
    # 通信标识
    token: str